FHIR © HL7.org  |  FHIRsmith 4.0.1  |  Server Home  |  XIG Home  |  XIG Stats  | 

FHIR IG analytics

Packageau.digitalhealth.cda.schema
Resource TypeStructureDefinition
IdStructureDefinition-Procedure.json
FHIR VersionR5
Sourcehttps://build.fhir.org/ig/AuDigitalHealth/cda-au-schema/StructureDefinition-Procedure.html
URLhttp://hl7.org/cda/stds/core/StructureDefinition/Procedure
Version1.0.1
Statusactive
Date2025-12-04T21:33:04+00:00
NameProcedure
TitleProcedure (CDA Class)
Realmau
Authoritynational
DescriptionA derivative of the RIM Procedure class, used for representing procedures. Procedure.negationInd, when set to "true", is a positive assertion that the Procedure as a whole is negated. Some properties such as Procedure.id, Procedure.moodCode, and the participations are not affected. These properties always have the same meaning: i.e., the author remains the author of the negative Procedure. A procedure statement with negationInd is still a statement about the specific fact described by the Procedure. For instance, a negated "appendectomy performed" means that the author positively denies that there was ever an appendectomy performed, and that he takes the same responsibility for such statement and the same requirement to have evidence for such statement than if he had not used negation.
Typehttp://hl7.org/cda/stds/core/StructureDefinition/Procedure
Kindlogical

Resources that use this resource

StructureDefinition
au.digitalhealth.cda.schema#currentEntryEntry (CDA Class)
au.digitalhealth.cda.schema#currentEntryRelationshipEntryRelationship (CDA Class)
au.digitalhealth.cda.schema#currentOrganizerComponentOrganizerComponent (CDA Class)
hl7.cda.us.ccda#currentAnesthesiaSectionAnesthesia Section
hl7.cda.us.ccda#currentAssessmentandPlanSectionAssessment and Plan Section
hl7.cda.us.ccda#currentInterventionActIntervention Act
hl7.cda.us.ccda#currentMedicalEquipmentOrganizerMedical Equipment Organizer
hl7.cda.us.ccda#currentMedicalEquipmentSectionMedical Equipment Section
hl7.cda.us.ccda#currentNutritionRecommendationNutrition Recommendation
hl7.cda.us.ccda#currentPlannedInterventionActPlanned Intervention Act
hl7.cda.us.ccda#currentPlannedProcedurePlanned Procedure
hl7.cda.us.ccda#currentPlannedProcedureSectionPlanned Procedure Section
hl7.cda.us.ccda#currentPlanofTreatmentSectionPlan of Treatment Section
hl7.cda.us.ccda#currentProcedureActivityProcedureProcedure Activity Procedure
hl7.cda.us.ccda#currentProceduresSectionProcedures Section
hl7.cda.us.ccda#currentReactionObservationReaction Observation
hl7.cda.us.ccda#currentResultOrganizerResult Organizer
hl7.cda.us.ccda#currentSpecimenCollectionProcedureSpecimen Collection Procedure
hl7.cda.uv.ips#current2.16.840.1.113883.10.22.3.4--20170327000000IPS History of Procedures Section
hl7.cda.uv.ips#current2.16.840.1.113883.10.22.4.17--20240804110835IPS Procedure Entry
hl7.cda.uv.ips#current2.16.840.1.113883.10.22.4.30--20240804210307IPS Specimen Collection
hl7.cda.uv.ips#current2.16.840.1.113883.10.22.4.38--20200508173848IPS Planned Procedure
hl7.cda.us.adi#currentAdditionalOrderEntryAdditional Order Entry
hl7.cda.us.adi#currentCardiopulmonaryResuscitationOrderEntryCardiopulmonary Resuscitation Order Entry
hl7.cda.us.adi#currentInitialTreatmentOrderEntryInitial Treatment Order Entry
hl7.cda.us.adi#currentMedicallyAssistedNutritionOrderEntryMedically Assisted Nutrition Order Entry

Resources that this resource uses

StructureDefinition
au.digitalhealth.cda.schema#currentAuthorAuthor (CDA Class)
au.digitalhealth.cda.schema#currentCDCD: ConceptDescriptor (V3 Data Type)
au.digitalhealth.cda.schema#currentCECE: CodedWithEquivalents (V3 Data Type)
au.digitalhealth.cda.schema#currentCSCS: CodedSimpleValue (V3 Data Type)
au.digitalhealth.cda.schema#currentEDED: EncapsulatedData (V3 Data Type)
au.digitalhealth.cda.schema#currentEntryRelationshipEntryRelationship (CDA Class)
au.digitalhealth.cda.schema#currentIIII: InstanceIdentifier (V3 Data Type)
au.digitalhealth.cda.schema#currentIVL-TSIVL_TS: Interval (V3 Data Type)
au.digitalhealth.cda.schema#currentInFulfillmentOf1InFulfillmentOf1 (CDA Class)
au.digitalhealth.cda.schema#currentInformantInformant (CDA Class)
au.digitalhealth.cda.schema#currentInfrastructureRootInfrastructureRoot (Base Type for all CDA Classes)
au.digitalhealth.cda.schema#currentParticipant2Participant2 (CDA Class)
au.digitalhealth.cda.schema#currentPerformer2Performer2 (CDA Class)
au.digitalhealth.cda.schema#currentPreconditionPrecondition (CDA Class)
au.digitalhealth.cda.schema#currentPrecondition2Precondition2 (CDA Class)
au.digitalhealth.cda.schema#currentReferenceReference (CDA Class)
au.digitalhealth.cda.schema#currentSpecimenSpecimen (CDA Class)
au.digitalhealth.cda.schema#currentSubjectSubject (CDA Class)
au.digitalhealth.cda.schema#currentbl-simplebl: Boolean
au.digitalhealth.cda.schema#currentcs-simplecs: Coded Simple Value
ValueSet
hl7.terminology#currentv3-ActClassProcedureActClassProcedure
hl7.terminology#currentv3-ActPriorityActPriority
hl7.terminology#currentv3-ActStatusActStatus
hl7.terminology#currentv3-xDocumentProcedureMoodx_DocumentProcedureMood

Narrative

Note: links and images are rebased to the (stated) source

A derivative of the RIM Procedure class, used for representing procedures.

Procedure.negationInd, when set to "true", is a positive assertion that the Procedure as a whole is negated. Some properties such as Procedure.id, Procedure.moodCode, and the participations are not affected. These properties always have the same meaning: i.e., the author remains the author of the negative Procedure. A procedure statement with negationInd is still a statement about the specific fact described by the Procedure. For instance, a negated "appendectomy performed" means that the author positively denies that there was ever an appendectomy performed, and that he takes the same responsibility for such statement and the same requirement to have evidence for such statement than if he had not used negation.


Source1

{
  "resourceType": "StructureDefinition",
  "id": "Procedure",
  "text": {
    "status": "generated",
    "div": "<!-- snip (see above) -->"
  },
  "extension": [
    {
      "url": "http://hl7.org/fhir/tools/StructureDefinition/logical-target",
      "_valueBoolean": {
        "extension": [
          {
            "url": "http://hl7.org/fhir/StructureDefinition/data-absent-reason",
            "valueCode": "not-applicable"
          }
        ]
      }
    },
    {
      "url": "http://hl7.org/fhir/tools/StructureDefinition/xml-namespace",
      "valueUri": "urn:hl7-org:v3"
    },
    {
      "url": "http://hl7.org/fhir/tools/StructureDefinition/xml-name",
      "valueString": "procedure"
    },
    {
      "url": "http://hl7.org/fhir/tools/StructureDefinition/logical-container",
      "valueUri": "http://hl7.org/cda/stds/core/StructureDefinition/ClinicalDocument"
    },
    {
      "url": "http://hl7.org/fhir/tools/StructureDefinition/type-profile-style",
      "valueCode": "cda"
    }
  ],
  "url": "http://hl7.org/cda/stds/core/StructureDefinition/Procedure",
  "version": "1.0.1",
  "name": "Procedure",
  "title": "Procedure (CDA Class)",
  "status": "active",
  "experimental": false,
  "date": "2025-12-04T21:33:04+00:00",
  "publisher": "HL7",
  "description": "A derivative of the RIM Procedure class, used for representing procedures.\n\nProcedure.negationInd, when set to \"true\", is a positive assertion that the Procedure as a whole is negated. Some properties such as Procedure.id, Procedure.moodCode, and the participations are not affected. These properties always have the same meaning: i.e., the author remains the author of the negative Procedure. A procedure statement with negationInd is still a statement about the specific fact described by the Procedure. For instance, a negated \"appendectomy performed\" means that the author positively denies that there was ever an appendectomy performed, and that he takes the same responsibility for such statement and the same requirement to have evidence for such statement than if he had not used negation.",
  "fhirVersion": "5.0.0",
  "mapping": [
    {
      "identity": "rim",
      "uri": "http://hl7.org/v3",
      "name": "RIM Mapping"
    }
  ],
  "kind": "logical",
  "abstract": false,
  "type": "http://hl7.org/cda/stds/core/StructureDefinition/Procedure",
  "baseDefinition": "http://hl7.org/cda/stds/core/StructureDefinition/InfrastructureRoot",
  "derivation": "specialization",
  "snapshot": {
    "extension": [
      {
        "url": "http://hl7.org/fhir/tools/StructureDefinition/snapshot-base-version",
        "valueString": "1.0.1"
      }
    ],
    "element": [
      {
        "id": "Procedure",
        "path": "Procedure",
        "short": "Base for all types and resources",
        "definition": "Defines the basic properties of every data value. This is an abstract type, meaning that no value can be just a data value without belonging to any concrete type. Every concrete type is a specialization of this general abstract DataValue type.",
        "min": 1,
        "max": "1",
        "base": {
          "path": "Base",
          "min": 0,
          "max": "*"
        },
        "isModifier": false,
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          }
        ]
      },
      {
        "id": "Procedure.nullFlavor",
        "path": "Procedure.nullFlavor",
        "representation": [
          "xmlAttr"
        ],
        "label": "Exceptional Value Detail",
        "definition": "If a value is an exceptional value (NULL-value), this specifies in what way and why proper information is missing.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "ANY.nullFlavor",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "code",
            "profile": [
              "http://hl7.org/cda/stds/core/StructureDefinition/cs-simple"
            ]
          }
        ],
        "binding": {
          "strength": "required",
          "valueSet": "http://hl7.org/cda/stds/core/ValueSet/CDANullFlavor"
        }
      },
      {
        "id": "Procedure.realmCode",
        "path": "Procedure.realmCode",
        "definition": "When valued in an instance, this attribute signals the imposition of realm-specific constraints. The value of this attribute identifies the realm in question",
        "min": 0,
        "max": "*",
        "base": {
          "path": "InfrastructureRoot.realmCode",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/CS"
          }
        ]
      },
      {
        "id": "Procedure.typeId",
        "path": "Procedure.typeId",
        "definition": "When valued in an instance, this attribute signals the imposition of constraints defined in an HL7-specified message type. This might be a common type (also known as CMET in the messaging communication environment), or content included within a wrapper. The value of this attribute provides a unique identifier for the type in question.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "InfrastructureRoot.typeId",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/II"
          }
        ],
        "constraint": [
          {
            "key": "II-1",
            "severity": "error",
            "human": "An II instance must have either a root or an nullFlavor.",
            "expression": "root.exists() or nullFlavor.exists()",
            "source": "http://hl7.org/cda/stds/core/StructureDefinition/InfrastructureRoot"
          }
        ]
      },
      {
        "id": "Procedure.typeId.nullFlavor",
        "path": "Procedure.typeId.nullFlavor",
        "representation": [
          "xmlAttr"
        ],
        "label": "Exceptional Value Detail",
        "definition": "If a value is an exceptional value (NULL-value), this specifies in what way and why proper information is missing.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "ANY.nullFlavor",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "code",
            "profile": [
              "http://hl7.org/cda/stds/core/StructureDefinition/cs-simple"
            ]
          }
        ],
        "binding": {
          "strength": "required",
          "valueSet": "http://hl7.org/cda/stds/core/ValueSet/CDANullFlavor"
        }
      },
      {
        "id": "Procedure.typeId.assigningAuthorityName",
        "path": "Procedure.typeId.assigningAuthorityName",
        "representation": [
          "xmlAttr"
        ],
        "label": "Assigning Authority Name",
        "definition": "A human readable name or mnemonic for the assigning authority. The Assigning Authority Name has no computational value. The purpose of a Assigning Authority Name is to assist an unaided human interpreter of an II value to interpret the authority. Note: no automated processing must depend on the assigning authority name to be present in any form.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "II.assigningAuthorityName",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "string",
            "profile": [
              "http://hl7.org/cda/stds/core/StructureDefinition/st-simple"
            ]
          }
        ]
      },
      {
        "id": "Procedure.typeId.displayable",
        "path": "Procedure.typeId.displayable",
        "representation": [
          "xmlAttr"
        ],
        "label": "Displayable",
        "definition": "Specifies if the identifier is intended for human display and data entry (displayable = true) as opposed to pure machine interoperation (displayable = false).",
        "min": 0,
        "max": "1",
        "base": {
          "path": "II.displayable",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "boolean",
            "profile": [
              "http://hl7.org/cda/stds/core/StructureDefinition/bl-simple"
            ]
          }
        ]
      },
      {
        "id": "Procedure.typeId.root",
        "path": "Procedure.typeId.root",
        "representation": [
          "xmlAttr"
        ],
        "label": "Root",
        "definition": "Identifies the type as an HL7 Registered model",
        "min": 1,
        "max": "1",
        "base": {
          "path": "II.root",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "string",
            "profile": [
              "http://hl7.org/cda/stds/core/StructureDefinition/oid",
              "http://hl7.org/cda/stds/core/StructureDefinition/uuid",
              "http://hl7.org/cda/stds/core/StructureDefinition/ruid"
            ]
          }
        ],
        "fixedString": "2.16.840.1.113883.1.3"
      },
      {
        "id": "Procedure.typeId.extension",
        "path": "Procedure.typeId.extension",
        "representation": [
          "xmlAttr"
        ],
        "label": "Extension",
        "definition": "A character string as a unique identifier within the scope of the identifier root.",
        "min": 1,
        "max": "1",
        "base": {
          "path": "II.extension",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "string",
            "profile": [
              "http://hl7.org/cda/stds/core/StructureDefinition/st-simple"
            ]
          }
        ]
      },
      {
        "id": "Procedure.templateId",
        "path": "Procedure.templateId",
        "definition": "When valued in an instance, this attribute signals the imposition of a set of template-defined constraints. The value of this attribute provides a unique identifier for the templates in question",
        "min": 0,
        "max": "*",
        "base": {
          "path": "InfrastructureRoot.templateId",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/II"
          }
        ]
      },
      {
        "id": "Procedure.classCode",
        "path": "Procedure.classCode",
        "representation": [
          "xmlAttr"
        ],
        "min": 1,
        "max": "1",
        "base": {
          "path": "Procedure.classCode",
          "min": 1,
          "max": "1"
        },
        "type": [
          {
            "code": "code",
            "profile": [
              "http://hl7.org/cda/stds/core/StructureDefinition/cs-simple"
            ]
          }
        ],
        "fixedCode": "PROC",
        "binding": {
          "strength": "required",
          "valueSet": "http://terminology.hl7.org/ValueSet/v3-ActClassProcedure"
        }
      },
      {
        "id": "Procedure.moodCode",
        "path": "Procedure.moodCode",
        "representation": [
          "xmlAttr"
        ],
        "min": 1,
        "max": "1",
        "base": {
          "path": "Procedure.moodCode",
          "min": 1,
          "max": "1"
        },
        "type": [
          {
            "code": "code",
            "profile": [
              "http://hl7.org/cda/stds/core/StructureDefinition/cs-simple"
            ]
          }
        ],
        "binding": {
          "strength": "required",
          "valueSet": "http://terminology.hl7.org/ValueSet/v3-xDocumentProcedureMood"
        }
      },
      {
        "id": "Procedure.id",
        "path": "Procedure.id",
        "min": 0,
        "max": "*",
        "base": {
          "path": "Procedure.id",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/II"
          }
        ]
      },
      {
        "id": "Procedure.code",
        "path": "Procedure.code",
        "definition": "Drawn from concept domain ActCode",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Procedure.code",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/CD"
          }
        ]
      },
      {
        "id": "Procedure.negationInd",
        "path": "Procedure.negationInd",
        "representation": [
          "xmlAttr"
        ],
        "min": 0,
        "max": "1",
        "base": {
          "path": "Procedure.negationInd",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "boolean",
            "profile": [
              "http://hl7.org/cda/stds/core/StructureDefinition/bl-simple"
            ]
          }
        ]
      },
      {
        "id": "Procedure.text",
        "path": "Procedure.text",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Procedure.text",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/ED"
          }
        ]
      },
      {
        "id": "Procedure.statusCode",
        "path": "Procedure.statusCode",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Procedure.statusCode",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/CS"
          }
        ],
        "binding": {
          "strength": "required",
          "valueSet": "http://terminology.hl7.org/ValueSet/v3-ActStatus"
        }
      },
      {
        "id": "Procedure.effectiveTime",
        "path": "Procedure.effectiveTime",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Procedure.effectiveTime",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/IVL-TS"
          }
        ]
      },
      {
        "id": "Procedure.priorityCode",
        "path": "Procedure.priorityCode",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Procedure.priorityCode",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/CE"
          }
        ],
        "binding": {
          "strength": "example",
          "valueSet": "http://terminology.hl7.org/ValueSet/v3-ActPriority"
        }
      },
      {
        "id": "Procedure.languageCode",
        "path": "Procedure.languageCode",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Procedure.languageCode",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/CS"
          }
        ],
        "binding": {
          "strength": "required",
          "valueSet": "http://hl7.org/fhir/ValueSet/all-languages"
        }
      },
      {
        "id": "Procedure.methodCode",
        "path": "Procedure.methodCode",
        "definition": "Drawn from concept domain ProcedureMethod",
        "min": 0,
        "max": "*",
        "base": {
          "path": "Procedure.methodCode",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/CE"
          }
        ]
      },
      {
        "id": "Procedure.approachSiteCode",
        "path": "Procedure.approachSiteCode",
        "definition": "Drawn from concept domain ActSite",
        "min": 0,
        "max": "*",
        "base": {
          "path": "Procedure.approachSiteCode",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/CD"
          }
        ]
      },
      {
        "id": "Procedure.targetSiteCode",
        "path": "Procedure.targetSiteCode",
        "definition": "Drawn from concept domain ActSite",
        "min": 0,
        "max": "*",
        "base": {
          "path": "Procedure.targetSiteCode",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/CD"
          }
        ]
      },
      {
        "id": "Procedure.subject",
        "path": "Procedure.subject",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Procedure.subject",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/Subject"
          }
        ]
      },
      {
        "id": "Procedure.specimen",
        "path": "Procedure.specimen",
        "min": 0,
        "max": "*",
        "base": {
          "path": "Procedure.specimen",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/Specimen"
          }
        ]
      },
      {
        "id": "Procedure.performer",
        "path": "Procedure.performer",
        "min": 0,
        "max": "*",
        "base": {
          "path": "Procedure.performer",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/Performer2"
          }
        ]
      },
      {
        "id": "Procedure.author",
        "path": "Procedure.author",
        "min": 0,
        "max": "*",
        "base": {
          "path": "Procedure.author",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/Author"
          }
        ]
      },
      {
        "id": "Procedure.informant",
        "path": "Procedure.informant",
        "min": 0,
        "max": "*",
        "base": {
          "path": "Procedure.informant",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/Informant"
          }
        ]
      },
      {
        "id": "Procedure.participant",
        "path": "Procedure.participant",
        "min": 0,
        "max": "*",
        "base": {
          "path": "Procedure.participant",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/Participant2"
          }
        ]
      },
      {
        "id": "Procedure.entryRelationship",
        "path": "Procedure.entryRelationship",
        "min": 0,
        "max": "*",
        "base": {
          "path": "Procedure.entryRelationship",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/EntryRelationship"
          }
        ]
      },
      {
        "id": "Procedure.reference",
        "path": "Procedure.reference",
        "min": 0,
        "max": "*",
        "base": {
          "path": "Procedure.reference",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/Reference"
          }
        ]
      },
      {
        "id": "Procedure.precondition",
        "path": "Procedure.precondition",
        "min": 0,
        "max": "*",
        "base": {
          "path": "Procedure.precondition",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/Precondition"
          }
        ]
      },
      {
        "id": "Procedure.sdtcPrecondition2",
        "extension": [
          {
            "url": "http://hl7.org/fhir/tools/StructureDefinition/xml-namespace",
            "valueUri": "urn:hl7-org:sdtc"
          },
          {
            "url": "http://hl7.org/fhir/tools/StructureDefinition/xml-name",
            "valueString": "precondition2"
          }
        ],
        "path": "Procedure.sdtcPrecondition2",
        "min": 0,
        "max": "*",
        "base": {
          "path": "Procedure.sdtcPrecondition2",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/Precondition2"
          }
        ]
      },
      {
        "id": "Procedure.sdtcInFulfillmentOf1",
        "extension": [
          {
            "url": "http://hl7.org/fhir/tools/StructureDefinition/xml-namespace",
            "valueUri": "urn:hl7-org:sdtc"
          },
          {
            "url": "http://hl7.org/fhir/tools/StructureDefinition/xml-name",
            "valueString": "inFulfillmentOf1"
          }
        ],
        "path": "Procedure.sdtcInFulfillmentOf1",
        "min": 0,
        "max": "*",
        "base": {
          "path": "Procedure.sdtcInFulfillmentOf1",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/InFulfillmentOf1"
          }
        ]
      }
    ]
  },
  "differential": {
    "element": [
      {
        "id": "Procedure",
        "path": "Procedure",
        "min": 1,
        "max": "1"
      },
      {
        "id": "Procedure.classCode",
        "path": "Procedure.classCode",
        "representation": [
          "xmlAttr"
        ],
        "min": 1,
        "max": "1",
        "type": [
          {
            "code": "code",
            "profile": [
              "http://hl7.org/cda/stds/core/StructureDefinition/cs-simple"
            ]
          }
        ],
        "fixedCode": "PROC",
        "binding": {
          "strength": "required",
          "valueSet": "http://terminology.hl7.org/ValueSet/v3-ActClassProcedure"
        }
      },
      {
        "id": "Procedure.moodCode",
        "path": "Procedure.moodCode",
        "representation": [
          "xmlAttr"
        ],
        "min": 1,
        "max": "1",
        "type": [
          {
            "code": "code",
            "profile": [
              "http://hl7.org/cda/stds/core/StructureDefinition/cs-simple"
            ]
          }
        ],
        "binding": {
          "strength": "required",
          "valueSet": "http://terminology.hl7.org/ValueSet/v3-xDocumentProcedureMood"
        }
      },
      {
        "id": "Procedure.id",
        "path": "Procedure.id",
        "min": 0,
        "max": "*",
        "type": [
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/II"
          }
        ]
      },
      {
        "id": "Procedure.code",
        "path": "Procedure.code",
        "definition": "Drawn from concept domain ActCode",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/CD"
          }
        ]
      },
      {
        "id": "Procedure.negationInd",
        "path": "Procedure.negationInd",
        "representation": [
          "xmlAttr"
        ],
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "boolean",
            "profile": [
              "http://hl7.org/cda/stds/core/StructureDefinition/bl-simple"
            ]
          }
        ]
      },
      {
        "id": "Procedure.text",
        "path": "Procedure.text",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/ED"
          }
        ]
      },
      {
        "id": "Procedure.statusCode",
        "path": "Procedure.statusCode",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/CS"
          }
        ],
        "binding": {
          "strength": "required",
          "valueSet": "http://terminology.hl7.org/ValueSet/v3-ActStatus"
        }
      },
      {
        "id": "Procedure.effectiveTime",
        "path": "Procedure.effectiveTime",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/IVL-TS"
          }
        ]
      },
      {
        "id": "Procedure.priorityCode",
        "path": "Procedure.priorityCode",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/CE"
          }
        ],
        "binding": {
          "strength": "example",
          "valueSet": "http://terminology.hl7.org/ValueSet/v3-ActPriority"
        }
      },
      {
        "id": "Procedure.languageCode",
        "path": "Procedure.languageCode",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/CS"
          }
        ],
        "binding": {
          "strength": "required",
          "valueSet": "http://hl7.org/fhir/ValueSet/all-languages"
        }
      },
      {
        "id": "Procedure.methodCode",
        "path": "Procedure.methodCode",
        "definition": "Drawn from concept domain ProcedureMethod",
        "min": 0,
        "max": "*",
        "type": [
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/CE"
          }
        ]
      },
      {
        "id": "Procedure.approachSiteCode",
        "path": "Procedure.approachSiteCode",
        "definition": "Drawn from concept domain ActSite",
        "min": 0,
        "max": "*",
        "type": [
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/CD"
          }
        ]
      },
      {
        "id": "Procedure.targetSiteCode",
        "path": "Procedure.targetSiteCode",
        "definition": "Drawn from concept domain ActSite",
        "min": 0,
        "max": "*",
        "type": [
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/CD"
          }
        ]
      },
      {
        "id": "Procedure.subject",
        "path": "Procedure.subject",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/Subject"
          }
        ]
      },
      {
        "id": "Procedure.specimen",
        "path": "Procedure.specimen",
        "min": 0,
        "max": "*",
        "type": [
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/Specimen"
          }
        ]
      },
      {
        "id": "Procedure.performer",
        "path": "Procedure.performer",
        "min": 0,
        "max": "*",
        "type": [
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/Performer2"
          }
        ]
      },
      {
        "id": "Procedure.author",
        "path": "Procedure.author",
        "min": 0,
        "max": "*",
        "type": [
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/Author"
          }
        ]
      },
      {
        "id": "Procedure.informant",
        "path": "Procedure.informant",
        "min": 0,
        "max": "*",
        "type": [
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/Informant"
          }
        ]
      },
      {
        "id": "Procedure.participant",
        "path": "Procedure.participant",
        "min": 0,
        "max": "*",
        "type": [
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/Participant2"
          }
        ]
      },
      {
        "id": "Procedure.entryRelationship",
        "path": "Procedure.entryRelationship",
        "min": 0,
        "max": "*",
        "type": [
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/EntryRelationship"
          }
        ]
      },
      {
        "id": "Procedure.reference",
        "path": "Procedure.reference",
        "min": 0,
        "max": "*",
        "type": [
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/Reference"
          }
        ]
      },
      {
        "id": "Procedure.precondition",
        "path": "Procedure.precondition",
        "min": 0,
        "max": "*",
        "type": [
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/Precondition"
          }
        ]
      },
      {
        "id": "Procedure.sdtcPrecondition2",
        "extension": [
          {
            "url": "http://hl7.org/fhir/tools/StructureDefinition/xml-namespace",
            "valueUri": "urn:hl7-org:sdtc"
          },
          {
            "url": "http://hl7.org/fhir/tools/StructureDefinition/xml-name",
            "valueString": "precondition2"
          }
        ],
        "path": "Procedure.sdtcPrecondition2",
        "min": 0,
        "max": "*",
        "type": [
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/Precondition2"
          }
        ]
      },
      {
        "id": "Procedure.sdtcInFulfillmentOf1",
        "extension": [
          {
            "url": "http://hl7.org/fhir/tools/StructureDefinition/xml-namespace",
            "valueUri": "urn:hl7-org:sdtc"
          },
          {
            "url": "http://hl7.org/fhir/tools/StructureDefinition/xml-name",
            "valueString": "inFulfillmentOf1"
          }
        ],
        "path": "Procedure.sdtcInFulfillmentOf1",
        "min": 0,
        "max": "*",
        "type": [
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/InFulfillmentOf1"
          }
        ]
      }
    ]
  }
}